#ifndef VIRDIR_H
#define VIRDIR_H

#include <myHeader.h>

typedef struct StackNode_s{
    struct StackNode_s *pNext;
    struct StackNode_s *pPrevious;
    char pathSegment[32];
}StackNode_t;

typedef struct Stack_s{
    StackNode_t *pFront;
    StackNode_t *pRear;
    int stackSize;
}Stack_t;

int initStack(Stack_t *pStack);

int pushStack(Stack_t *pStack,char *pathSegment);

char *popStack(Stack_t *pStack);

int isEmpty(Stack_t *pStack);

int copyStack(Stack_t *pSrc,Stack_t *pDst);

int sPrintfStack(Stack_t *pStack,char *path);

char *topStack(Stack_t *pStack);
#endif
